<?php

/**
 *  * 海之心空框架系统- 受国家计算机软件著作权保护- !
 * =========================================================
 * Copy right 2018-2025 成都海之心科技有限公司, 保留所有权利。
 * ----------------------------------------------
 * 官方网址: http://www.ohyu.cn
 * 这不是一个自由软件！在未得到官方有效许可的前提下禁止对程序代码进行修改和使用。
 * 任何企业和个人不允许对程序代码以任何形式任何目的再发布。
 * =========================================================
 * name: 消息管理 站内信模块
 * User: ohyueo
 * Date: 2019/4/5
 * Time: 15:27
 */

namespace app\admin\controller;
use think\facade\View;
use think\facade\Db;
use app\admin\traits\AdminAuth;
use app\admin\models\EscortMessage;
use app\admin\models\EscortMessageText;
use app\admin\models\EscortSysmessage;

class Message extends Common
{
	use AdminAuth;

	public function message(){
        if(request()->isPost()){
            $page=input("param.page");
            $where=[];			
            if(!$page){
                $page=1;
            }
            $limit=input("param.limit");
            if(!$limit){
                $limit=10;//每页显示条数
            }
            //查询产品
            $uid=input("param.uid");
            if($uid){
                $where['recid']=$uid;
            }
            $count = EscortMessage::countData(['where'=>$where]);
            $data=EscortMessage::findAllData(['where'=>$where,'order'=>['id'=>'desc'],'page'=>$page,'limit'=>$limit,'isarr'=>true,'field'=>'*']);
            //查询消息
            if($data){
                for($i=0;$i<count($data);$i++){
                    //查询名称id和时间
                    $r=EscortMessageText::findData(['where'=>['id'=>$data[$i]['textid']],'field'=>'*']);
                    $data[$i]['title']=$r['title'];
                    $data[$i]['text']=$r['text'];
                    $data[$i]['addtime']=$r['addtime'];
                }
            }
            $res = ["data" => $data,"code"=>0,'message'=>'请求成功','count'=>$count];
            return json($res);
        }
        $permis = $this->getPermissions('Message/message');
		View::assign('data', $this->actions);
		View::assign('permis', $permis);
        return View::fetch();
	}
	public function addmessage(){
        if(request()->isPost()){
			$data = array('status' => 0,'msg' => '未知错误');
			$name=input("param.title");
			if(!$name){ $data['msg']='标题不能为空';return json($data);exit;}
			$cont=input("param.txt");
			if(!$cont){ $data['msg']='内容不能为空';return json($data);exit;}
			$RecId=input("param.RecId");//收件人ID
			if(!$RecId){
				$RecId=0;
			}
			$arr = array(
				'title' => $name,
				'text'	   => $cont,
				'addtime'  => time()	
			);
			$addloan=EscortMessageText::addData($arr);
			if($addloan){
				//插入消息记录
				$arrx=array(
					'sendid'=>0,
					'recid'=>$RecId,
					'textid'=>$addloan->id,
					'status'=>0
				);
				EscortMessage::addData($arrx);
				$data['status']=1;
			}else{
				$data['msg']='添加失败';
			}
            $text = '添加了消息-id='.$addloan->id;
			$this->writeActionLog($text);
			return json($data);exit;
		}
        return View::fetch('editmessage');
	}
	public function delmessage(){
		$data = array('status' => 0,'msg' => '未知错误');
		$array=input("param.id");
		if(!$array){ 
			$data['msg']='参数错误';return json($data);exit;
		}
		$arr=explode(",",$array);
		for($i=0;$i<count($arr);$i++){
			//删除数据
			if($arr[$i]){
				EscortMessage::deleteData(['where'=>['id'=>$arr[$i]]]);
                $text = '删除了消息-id='.$arr[$i].'的数据';
				$this->writeActionLog($text);
			}
		}
		$data['status']=1;
		return json($data);
	}
	public function editmessage(){
        if(request()->isPost()){
			$data = array('status' => 0,'msg' => '未知错误');
			$id=input("param.id");
			if(!$id){ $data['msg']='id不能为空';return json($data);exit;}
			$name=input("param.title");
			if(!$name){ $data['msg']='标题不能为空';return json($data);exit;}
			$cont=input("param.txt");
			if(!$cont){ $data['msg']='内容不能为空';return json($data);exit;}
			$RecId=input("param.RecId");//收件人ID
			if(!$RecId){
				$RecId=0;
			}
            $u=EscortMessage::findData(['where'=>['id'=>$id]]);
			if(!$u){
				$data['msg'] = "该数据不存在";
				return json($data);exit;
			}
			$tid=$u['TextId'];//内容id
			//修改收件人
			$arr=array('recid'=>$RecId);
            $s=EscortMessage::updatesData(['where'=>['id'=>$id],'data'=>$arr]);
			if($s){
				$data['status']=1;
			}else{
				$data['msg']='修改失败';
			}
            $arrs = array(
                'title' => $name,
                'text'	   => $cont
            );
            $addloan=EscortMessageText::updatesData(['where'=>['id'=>$tid],'data'=>$arrs]);
            if($addloan){
                $data['status']=1;
            }else{
                $data['msg']='修改失败';
            }
            $text = '删除了消息-id='.$id.'的数据';
		    $this->writeActionLog($text);
			return json($data);exit;
        }
        return View::fetch();
	}
}
